/**
 * 变量
 * 1. 变量是内存中的一小块区域，用来存储数据
 * 2. 变量的定义格式：数据类型 变量名 = 初始化值
 * 3. 变量名：由字母、数字、下划线、$组成，不能以数字开头，区分大小写
 * 4. 变量可以进行重新赋值，也可以赋值给其他变量
 * 5. 可以使用var关键字定义变量，var num = 100;仅仅是少写了数据类型，编译器会自动推断数据类型
 * 
 * 基本数据类型：
 * 1. 整数类型：byte(1字节)、short(2字节)、int(4字节)、long(8字节)
 *     byte：-128~127
 *     short：-32768~32767
 *     int：-2147483648~2147483647
 *     long：-9223372036854775808~9223372036854775807, 以L结尾，不写L会被认为是int long num = 100L
 * 2. 浮点类型：float(4字节)、double(8字节)
 *     可以用科学计数法表示：3.14e2 = 3.14 * 10^2 = 314.0
 *      float num = 3.14f,必须以f结尾，不写f会被认为是double num = 3.14
 * 3. 字符类型：char(2字节)
 *    char c = 'A'; 单引号括起来的单个字符
 * 4. 布尔类型：boolean(1字节)
 *      只有true和false两个值，一般用于判断
 *      boolean isGreater = 5 > 3;
 * 引用数据类型：
 *  1. String：字符串类型，不是关键字，是类
 *     String str = "Hello";
 * 常量：
 * 
 * final 数据类型 常量名 = 初始化值;
 * 
 * 注意：计算机内存的最小存储单元是字节，1字节=8位二进制数，所以1个字节可以表示256个不同的值。
 * 一个字节是一个存储单元，1024字节是1KB，1024KB是1MB，1024MB是1GB，1024GB是1TB。
 */

 public class  Variable {
    public Variable() {
        System.out.println("Variable constructor called.");
    }
    public static void main(String[] args) {
        // 定义一个整数变量num，赋值为100
        int num = 100;
        System.out.println(num);
        // 定义一个浮点变量pi，赋值为3.14
        double pi = 3.14;
        System.out.println(pi);
        // 定义一个字符变量c，赋值为'A'
        char c = 'A';
        System.out.println(c);
        // 定义一个布尔变量isGreater，赋值为5 > 3
        boolean isGreater = 5 > 3;
        System.out.println(isGreater);
        // 定义一个字符串变量str，赋值为"Hello"
        String str = "Hello";
        System.out.println(str);
        // 定义一个常量PI，赋值为3.14
        final double PI = 3.14;
        System.out.println(PI);
    }
 }